File System

NOTE

리눅스/유닉스 파일시스템 계층 표준(FHS)의 개념과 최상위 디렉토리 구조, 각 디렉토리 역할, 실무 관점 요약 정리.

📌 개념

FHS(Filesystem Hierarchy Standard)란?

리눅스/유닉스 계열에서 파일과 디렉토리를 어떤 목적과 규칙으로 배치할지 정의한 표준이다.

  • 시스템 레이아웃의 기준 제공
  • 파일시스템 간 일관된 계층 구조 유지
  • 배포판이 달라도 디렉토리 역할을 예측 가능하게 함

최상위 디렉토리

  • / (Root): 모든 디렉토리의 최상위, 시스템 전체의 시작점

주요 디렉토리

시스템 실행 및 부팅

  • /bin: 기본 실행 명령어. 부팅·복구에 필수적인 프로그램
  • /sbin: 시스템 관리용 필수 바이너리(주로 root용)
  • /boot: 커널 이미지, 부트로더 설정 파일

장치 / 커널 / 가상 파일시스템

  • /dev: 디바이스 파일(하드웨어를 파일처럼 접근)
  • /proc: 프로세스 및 커널 정보를 파일로 제공(가상 파일시스템)
  • /sys: 장치·드라이버·커널 기능 정보(커널과 사용자 공간 연결)

설정 파일

  • /etc: 시스템 전반의 설정 파일
    • /etc/opt: 추가 패키지 설정
    • /etc/sgml: SGML 관련 설정
    • /etc/X11: X Window 시스템 설정
    • /etc/xml: XML 처리 관련 설정

사용자 영역

  • /home: 일반 사용자 홈 디렉토리
  • /root: root 사용자 전용 홈 디렉토리

라이브러리

  • /lib: /bin, /sbin 실행 파일에 필요한 필수 라이브러리

마운트 포인트

  • /media: CD/DVD, USB 등 이동식 미디어 마운트
  • /mnt: 임시 파일시스템 마운트 지점

추가 소프트웨어

  • /opt: add-on 애플리케이션 패키지(기본 시스템과 분리된 소프트웨어)

런타임 / 임시 파일

  • /run: 부팅 이후 실행 중인 시스템의 런타임 정보
  • /tmp: 임시 파일(재부팅 시 삭제될 수 있음)

서비스 데이터

  • /srv: 시스템이 제공하는 서비스용 데이터(예: FTP 데이터, 리포지토리)

/usr 계열

  • /usr: 읽기 전용 데이터(사용자 명령·라이브러리·문서). 시스템의 “보조 영역”

/var 계열 (가변 데이터)

  • /var: 변경되는 데이터 저장
  • /var/lib: 프로그램 상태 정보(실행 중 수정되는 영구 데이터)
  • /var/lock: 파일 잠금 정보
  • /var/log: 시스템 및 서비스 로그
  • /var/tmp: 재부팅 사이에도 유지되는 임시 파일
  • /var/spool: 처리 대기 중인 작업 데이터
  • /var/run: 부팅 이후 시스템 상태 정보 (최근 시스템에서는 /run으로 이동됨)

실무 관점 핵심 요약

  • 읽기 전용 vs 가변 데이터
    • 읽기 전용: /bin, /sbin, /lib, /usr
    • 변경 빈번: /var, /run, /tmp
  • 장애 분석 시 자주 보는 곳
    • 로그 → /var/log
    • 프로세스 → /proc
    • 디바이스 → /dev, /sys
    • 설정 → /etc

한 줄 정리

FHS는 “리눅스 파일과 디렉토리의 역할 설명서”이다. 디렉토리 이름만 봐도 무엇이 들어 있는지 예측 가능하게 만드는 표준.